﻿using System.Data.Linq.Mapping;

namespace Quiz.LINQData
{
    [Table(Name = "Antworten")]
    class Antwort
    {
        #region Member
            private int _frageID;
            private int _antwortID;
            private int _antwortPos;
            private string _antwort;
            private bool _richtig;
            
            public enum AntwortStatus
            {
                Richtig,
                Falsch,
                UeberSprungen,
                NeueFrage
            }

        #endregion


        #region Properties
            /// <summary>
            /// Die zugehörige FrageID (Fremdschlüssel)
            /// </summary>
            [Column(Name="FrageID",Storage="_frageID")]
            public int FrageID
            {
                get { return _frageID; }
                set { _frageID = value; }
            }
            
            /// <summary>
            /// Die AntwortID
            /// </summary>
            [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL IDENTITY", Name = "AntwortID", Storage = "_antwortID")]
            public int AntwortID
            {
                get { return _antwortID; }
                set { _antwortID = value; }
            }

            /// <summary>
            /// Ein Passender Antworttext
            /// </summary>
            [Column(Name = "Antwort", Storage = "_antwort")]
            public string Antworttext
            {
                get { return _antwort; }
                set { _antwort = value; }
            }

            /// <summary>
            /// Die Angabe ob diese Antwort richtig oder falsch ist
            /// </summary>
            [Column(Name = "Richtig", Storage = "_richtig")]
            public bool Richtig
            {
                get { return _richtig; }
                set { _richtig = value; }
            }

            /// <summary>
            /// Wert wird nicht aus der DB geladen, sondern später gesetzt um die Reihenfolge der Antworten zu beeinflussen (Random zu setzten)
            /// </summary>
            public int AntwortPos
            {
                get { return _antwortPos; }
                set { _antwortPos = value; }
            }
            
        #endregion

    }
}
